home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / tos_updt / fmcity / palcom / auto / script / expcom.mx < prev    next >
Text File  |  1995-02-10  |  3KB  |  105 lines

  1. //--------------------------------------------------------------------------//
  2. //                        PALCOM V2.1 L10                        //
  3. //                自動通信:エグゼクティブオプション設定スクリプト            //
  4. //                                                                            //
  5. //                                        CopyRight(C) 1994/10/20                //
  6. //                                FUJITSU PERSONAL COMPUTER SYSTEMS LIMITED    //
  7. //                                        written by C-cube Soft T.Nakamura    //
  8. //--------------------------------------------------------------------------//
  9. //  本スクリプトは、$$USER.DEFINED.9 を引数及び復帰値格納用に使用します。    //
  10. //    【入力】                                                                //
  11. //      $$USER.DEFINED.9 = [                                                //
  12. //            エグゼクティブオプション状態,                                    //
  13. //            エグゼクティブオプション状態ファイルオフセット,                    //
  14. //        ]                                                                    //
  15. //                                                                            //
  16. //--------------------------------------------------------------------------//
  17. event    @OPEN.EXTERN {
  18.     $AUTO.WAIT15 = AUTO.getWaitChar( 15 );
  19.     $AUTO.WAIT60 = AUTO.getWaitChar( 60 );
  20.  
  21.     //---   エグゼクティブオプションの設定に入る   ---//
  22.     sys.stopIntRec();
  23.     loop {
  24.         AUTO.putStr("GO OPTION\r");
  25.         $errFlg  = 1;
  26.         comtable( $a, 300 ) {
  27.             "GO OPTION\n"    { $errFlg = 0; exit; }
  28.             interval        { AUTO.haltCheck();  }
  29.         }
  30.         if( $errFlg == 0 ) {
  31.             exit;
  32.         }
  33.         AUTO.putStr("\r");
  34.         AUTO.waitPrompt( #TRUE );
  35.         continue;
  36.     }
  37.     $tmpList = [];
  38.     $inFlg   = 0;
  39.     comtable( $a, 0 ) {
  40.         interval        { AUTO.haltCheck();        }
  41.         $AUTO.WAIT60    { AUTO.putStr("\r");    }
  42.         "OPTION\n"        { $inFlg = 1;            }
  43.         ">\w\w"        { exit;                    }
  44.     }
  45.     if( $inFlg == 0 ) {
  46.         //---   エグゼクティブオプションの設定に入れなかった   ---//
  47.         $errMsg = ["エグゼクティブオプションに入ることが出来ませんでした。",
  48.                    "エグゼクティブオプションの設定を中断しました。"];
  49.         AUTO.error("エグゼクティブオプションの設定", $errMsg );
  50.         return;
  51.     }
  52.  
  53.     //---   現在の設定状態を判断し、設定するかしないかを判断する   ---//
  54.     AUTO.putStr("2\r");
  55.     comtable( $a, 1200 ) {
  56.         interval        { AUTO.haltCheck();        }
  57.         $AUTO.WAIT60    { AUTO.putStr("\r");    }
  58.         "現在:設定する"{ $flg = #TRUE;            }
  59.         "現在:しない"    { $flg = #FALSE;        }
  60.         ":\w\w"            { exit;                    }
  61.     }
  62.     if( list.get1st( $$USER.DEFINED.9 ) == $flg ) {
  63.         if( $flg == #TRUE ) {
  64.             AUTO.sendCommand("2");
  65.         } else {
  66.             AUTO.sendCommand("1");
  67.         }
  68.     } else {
  69.         AUTO.sendCommand("");
  70.     }
  71.  
  72.     //---   データベースの更新   ---//
  73.     $db = AUTO.getTrdId();
  74.     if( list.get1st( $$USER.DEFINED.9 ) == #TRUE ) {
  75.         trd.setData( $db, [1,1], "設定なし" );
  76.         //---   解除の場合はフラッシュニュースも同時に解除する   ---//
  77.         trd.setData( $db, [1,2], "設定なし" );
  78.     } else {
  79.         trd.setData( $db, [1,1], "設定あり" );
  80.     }
  81.     AUTO.setTrdUpdateFlg();
  82.  
  83.     //---   設定ファイルの値を書き換える   ---//
  84.     $fname = list.getNth( AUTO.getSetName(), 2 );
  85.     $id = file.open( $fname, "", 1 );
  86.     file.seek( $id, list.getNth( $$USER.DEFINED.9, 2 ), 0 );
  87.     file.putByte( $id, code("2"));
  88.     if( $flg == #TRUE ) {
  89.         //---   解除の場合はフラッシュニュースも同時に解除する   ---//
  90.         file.putByte( $id, code("2"));
  91.     }
  92.     file.close( $id );
  93.  
  94.     return;
  95. }
  96. event    @CLOSE.EXTERN {
  97.     sys.startIntRec();
  98.     return;
  99. }
  100. event    @ERROR {
  101.     sys.startIntRec();
  102.     AUTO.fatalError();
  103.     event.mainLoop();
  104. }
  105.